11
תגובות
בJS אני יודע שזה אפשרי השאלה אם גם בPHP,אם כן איך?

11 תשובות

avatar ענה raz1001 ב 01 לינואר 2012 #

מזאת אומרת?

avatar ענה intval ב 01 לינואר 2012 #

לא.

PHP לא יודעת על שום CSS ובכלל שום דבר על מה שקורה אחרי שהקוד מסתיים לפעול, בגלל לקוח-שרת-לקוח.

avatar ענה אנונימי ב 02 לינואר 2012 #

את זה הבנתי,
אבל אפשר לעשות שאחרי לחיצה על כפתור(בPHP) שהCSS ישתנה ?
לדוגמא:
טופס שאם לוחצים submit ויש שגיאה,אז שהרקע יהיה אדום(וזה כמובן לאחר שליחה נוספת לשרת)

avatar ענה intval ב 02 לינואר 2012 #

PHP לא יודעת שום דבר על שום CSS ושום שדות.
היא רק נותנת פלט מסוים לדפדפן (שמבחינת PHP אין לו שום משמעוט לוגית כלשהי)
ומה הדפדפן עושה עם זה הפלט הזה ומה מצויר אחרי זה על המסך היא לא יודעת.

מה שאתה יכול לעשות (ולא כדאי) זה לגרום ל PHP לייצר קלט כזה, שכשהדפדפן יפענח הפלט הזה, הוא יצבע באדום משהו. עושים את זה ככה:

if(true)
{
  ?>
  <style>
    .whatever-field { background: red; }
  </style>
  <?php
}


אבל מה שיותר עדיף לעשות, זה בדיקות ב javascript ולצבוע שדות באדום עוד לפני שמשהו נשלח לשרת בכלל.

avatar ענה אנונימי ב 02 לינואר 2012 #

בJS כבר עשיתי.
עכשיו אני רוצה גם בPHP.
אז אתה לא ממילץ על זה? - אשמח לדעת למה?
ד"א גם בגיימיל במסך כניסה/התחברות יש את זה..

avatar ענה intval ב 02 לינואר 2012 #

אני לא ממליץ על זה מהסיבה שצריכה להיות הפרדה בין הקליינט שבו קוראים כל הדברים הוויזואלים והעיצוביים לבין מה שקורה בשרת, שלא צריך לדעת על שום קליינט ועל מה שקורה בו, ובטח שלא להכיל קוד css, אחרת הקוד הופך ללא נוח לשינוי ותחזוקה.

בנוסף זה פלט מיותר ולא יפה. אם אתה רוצה בכל זאת שיהיה כזה דרך השרת, אתה יכול לשדות שהם לא תקינים להוסיף אטריביות נוסף של "לא תקין" ובאמצעות javascript לעבור אחרי זה על כל השדות ולסמן אותם באדום.

<input type='email' name='email' value='...'
<?php if(!$valid) echo 'data-valid="false"' ?>
/>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type='text/javascript'>
$(document).ready(function(){
  $('input[data-valid=false]').css('background', 'red');
});
</script>

avatar ענה אנונימי ב 02 לינואר 2012 #

טוב זה כבר נראה מסובך..
עוד משהו קטן: עשיתי בPHP שידפיס לי תג P שכתוב בו שגיאה מסויימת,
לתג הזה נתתי ID ובCSS עיצבתי אותו,
זה בסדר או שגם זה מומלץ שלא?

avatar ענה intval ב 02 לינואר 2012 #

זה בסדר גמור, כיוון שאיך לצייר את זה על המסך, באיזה צבעים ומה יהיה שם לא מחליט PHP.

avatar ענה אנונימי ב 02 לינואר 2012 #

סבבה (:

שאלה נוספת שלא קשורה לעניין:
איך לגשת לCSS בJQUERY?

avatar ענה intval ב 02 לינואר 2012 #

גם כתוב בריבוע כחול 4 הודעות למעלה וגם עדיף שתשאל את זה בתור שאלה חדשה, נפרדת :)

avatar ענה אנונימי ב 02 לינואר 2012 #

AISTADARTI KVAR, TODA